﻿using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata; 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.DataEntity;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using System.ComponentModel;

namespace SPCom.Junit.BusinessPlugIn.DynSaleBillAdjustForm2
{
    /// <summary>
    /// 动态表单插件
    /// </summary>
    [Kingdee.BOS.Util.HotUpdate]
	[Description("动态销售订单调整")]
    public class DynSaleBillAdjust : AbstractDynamicFormPlugIn
    {

        public override void BeforeExportDataNew(BeforeExportDataNewArgs e)
        {
           PrintEventInfo("BeforeExportDataNew", e);
           base.BeforeExportDataNew(e);
        }
        /// <summary>
        /// 动态表单数据包创建
        /// </summary>
        /// <param name="e"></param>
        public override void CreateNewData(BizDataEventArgs e)
        {
           base.CreateNewData(e);
        }
        /// <summary>
        /// 动态表单数据包创建完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterCreateNewData(EventArgs e)
        {
           base.AfterCreateNewData(e);
        }

        /// <summary>
        /// 模型层数据包创建完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterCreateModelData(EventArgs e)
        {
           base.AfterCreateModelData(e);
        }
        /// <summary>
        /// 控件数据绑定前事件
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeControlDataBinder(BeforeControlDataBinder e)
        {
           base.BeforeControlDataBinder(e);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeEntryRowDataBinder(BeforeEntryRowDataBinderArgs e)
        {
           base.BeforeEntryRowDataBinder(e);
        }
        /// <summary>
        /// 实体批量填充前事件
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeEntryBatchFill(BeforeBatchFillEventArgs e)
        {
           base.BeforeEntryBatchFill(e);
        }
        /// <summary>
        /// 实体批量填充后事件
        /// </summary>
        /// <param name="e"></param>
        public override void AfterEntryBatchFill(AfterBatchFillEventArgs e)
        {
           base.AfterEntryBatchFill(e);
        }
        /// <summary>
        /// 分录行创建
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeCreateNewEntryRow(BeforeCreateNewEntryEventArgs e)
        {
           base.BeforeCreateNewEntryRow(e);
        }
        /// <summary>
        /// 分录行创建完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterCreateNewEntryRow(CreateNewEntryEventArgs e)
        {
           base.AfterCreateNewEntryRow(e);
        }
        /// <summary>
        /// 分录行删除
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeDeleteRow(BeforeDeleteRowEventArgs e)
        {
           base.BeforeDeleteRow(e);
        }
        /// <summary>
        /// 分录行删除结束
        /// </summary>
        /// <param name="e"></param>
        public override void AfterDeleteRow(AfterDeleteRowEventArgs e)
        {
           base.AfterDeleteRow(e);
        }
        /// <summary>
        /// 字段值更新
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
        {
           base.BeforeUpdateValue(e);
        }
        /// <summary>
        /// 字段值更新完毕
        /// </summary>
        /// <param name="e"></param>
        public override void DataChanged(DataChangedEventArgs e)
        {
           base.DataChanged(e);
        }
        /// <summary>
        /// 行复制完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterCopyRow(AfterCopyRowEventArgs e)
        {
           base.AfterCopyRow(e);
        }
        /// <summary>
        /// 删除分录全部数据
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeDeleteEntry(BeforeDeleteEntryEventArgs e)
        {
           base.BeforeDeleteEntry(e);
        }
        /// <summary>
        /// 分录全部数据删除完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterDeleteEntry(AfterDeleteEntryEventArgs e)
        {
           base.AfterDeleteEntry(e);
        }
        /// <summary>
        /// 请求获取树形控件节点
        /// </summary>
        /// <param name="treeNodeArgs"></param>
        /// <returns></returns>
        public override List<TreeNode> GetTreeViewData(TreeNodeArgs e)
        {
           return base.GetTreeViewData(e);
        }
        /// <summary>
        /// 在根据编码检索数据之前调用；
        /// 通过重载本事件，可以设置必要的过滤条件，以限定检索范围；
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
        {
           base.BeforeSetItemValueByNumber(e);
        }
        /// <summary>
        /// 分组搜索面板事件入口
        /// </summary>
        /// <param name="e"></param>
        public override void GroupSearchMenuPanelAction(GroupSearchMenuPanelEventArgs e)
        {
           base.GroupSearchMenuPanelAction(e);
        }
        /// <summary>
        /// 产品面板事件入口
        /// </summary>
        /// <param name="e"></param>
        public override void ProductsPanelAction(ProductsPanelEventArgs e)
        {
           base.ProductsPanelAction(e);
        }
        /// <summary>
        /// 动态表单打开前事件
        /// </summary>
        /// <param name="e">动态表单打开前事件参数</param>
        public override void PreOpenForm(PreOpenFormEventArgs e)
        {
           base.PreOpenForm(e);
        }
        /// <summary>
        /// 页面初始化
        /// </summary>
        /// <param name="e"></param>
        public override void OnInitialize(InitializeEventArgs e)
        {
           base.OnInitialize(e);
        }
        /// <summary>
        /// 服务初始化
        /// </summary>
        /// <param name="e"></param>
        public override void OnInitializeService(InitializeServiceEventArgs e)
        {
           base.OnInitializeService(e);
        }
        /// <summary>
        /// 设置动态表单业务元数据事件，在此事件中可以构造新的BusinessInfo以便运行时动态改变业务对象
        /// </summary>
        /// <param name="e"></param>
        public override void OnSetBusinessInfo(SetBusinessInfoArgs e)
        {
           base.OnSetBusinessInfo(e);
        }
        /// <summary>
        /// 设置动态表单布局元数据事件，在此事件中可以构造新的LayoutInfo以便运行时动态改变业务对象
        /// </summary>
        /// <param name="e"></param>
        public override void OnSetLayoutInfo(SetLayoutInfoArgs e)
        {
           base.OnSetLayoutInfo(e);
        }
        /// <summary>
        /// 创建数据绑定器事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnCreateDataBinder(CreateDataBinderArgs e)
        {
           base.OnCreateDataBinder(e);
        }
        /// <summary>
        /// 页面加载
        /// </summary>
        /// <param name="e"></param>
        public override void OnLoad(EventArgs e)
        {
           base.OnLoad(e);
        }
        /// <summary>
        /// 页面准备关闭,可设置取消关闭
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeClosed(BeforeClosedEventArgs e)
        {
           base.BeforeClosed(e);
        }
        /// <summary>
        /// 后端页面关闭
        /// </summary>
        /// <param name="e"></param>
        public override void FormClosed(FormClosedEventArgs e)
        {
           base.FormClosed(e);
        }
        /// <summary>
        /// 弹性域页面准备关闭,可设置取消关闭
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeFlexClosed(BeforeClosedEventArgs e)
        {
           base.BeforeFlexClosed(e);
        }
        /// <summary>
        /// 显示弹性域界面后。在此事件可以控制填写弹性域后界面的刷新
        /// </summary>
        /// <param name="e"></param>
        public override void AfterShowFlexForm(AfterShowFlexFormEventArgs e)
        {
           base.AfterShowFlexForm(e);
        }
        /// <summary>
        /// 显示弹性域界面后。在此事件可以控制是否需要初始化维度字段
        /// </summary>
        /// <param name="e"></param>
        public override void ShowFlexFormLoad(ShowFlexFormLoadEventArgs e)
        {
           base.ShowFlexFormLoad(e);
        }
        /// <summary>
        /// 销毁对象
        /// </summary>
        public override void Dispose()
        {
           base.Dispose();
        }
        /// <summary>
        /// 绑定数据前事件
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeBindData(EventArgs e)
        {
           base.BeforeBindData(e);
        }
        /// <summary>
        /// 数据加载之后，需要处理的功能，这里主要对界面样式进行处理，尽量不要对Datamodel进行处理
        /// </summary>
        /// <param name="e"></param>
        public override void AfterBindData(EventArgs e)
        {
           base.AfterBindData(e);
        }
        /// <summary>
        /// 操作后局部刷新界面事件处理后扩展接口
        /// </summary>
        /// <param name="e"></param>
        public override void AfterUpdateViewState(EventArgs e)
        {
           base.AfterUpdateViewState(e);
        }
        /// <summary>
        /// 界面层定时事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnTimerElapsed(EventArgs e)
        {
           base.OnTimerElapsed(e);
        }
        /// <summary>
        /// 获取进度条当前进度值 
        /// </summary>
        /// <param name="key"></param>
        public override void OnQueryProgressValue(QueryProgressValueEventArgs e)
        {
           base.OnQueryProgressValue(e);
        }
        /// <summary>
        /// 主菜单单击
        /// </summary>
        /// <param name="e"></param>
        public override void BarItemClick(BarItemClickEventArgs e)
        {
           base.BarItemClick(e);
        }
        /// <summary>
        /// 上下文菜单单击
        /// </summary>
        /// <param name="e"></param>
        public override void ContextMenuItemClick(ContextMenuItemClickEventArgs e)
        {
           base.ContextMenuItemClick(e);
        }
        /// <summary>
        /// 分录菜单单击
        /// </summary>
        /// <param name="e"></param>
        public override void EntryBarItemClick(BarItemClickEventArgs e)
        {
           base.EntryBarItemClick(e);
        }
        /// <summary>
        /// 工具栏菜单单击
        /// </summary>
        /// <param name="e"></param>
        public override void ToolBarItemClick(BarItemClickEventArgs e)
        {
           base.ToolBarItemClick(e);
        }
        /// <summary>
        ///主菜单菜单单击处理后事件
        /// </summary>
        /// <param name="e"></param>
        public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
        {
           base.AfterBarItemClick(e);
        }
        /// <summary>
        ///分录菜单单击处理后事件 
        /// </summary>
        /// <param name="e"></param>
        public override void AfterEntryBarItemClick(AfterBarItemClickEventArgs e)
        {
           base.AfterEntryBarItemClick(e);
        }
        /// <summary>
        /// 工具栏菜单单击处理后事件
        /// </summary>
        /// <param name="e"></param>
        public override void AfterToolBarItemClick(AfterBarItemClickEventArgs e)
        {
           base.AfterToolBarItemClick(e);
        }
        /// <summary>
        /// 按钮单击
        /// </summary>
        /// <param name="e"></param>
        public override void ButtonClick(ButtonClickEventArgs e)
        {
           base.ButtonClick(e);
        }
        /// <summary>
        /// html主题变更事件
        /// </summary>
        /// <param name="e"></param>
        public override void ChangeHTmlTheme(HtmlThemeEventArgs e)
        {
           base.ChangeHTmlTheme(e);
        }
        /// <summary>
        /// 表格按钮单击时调用
        /// </summary>
        /// <param name="e"></param>
        public override void EntryButtonCellClick(EntryButtonCellClickEventArgs e)
        {
           base.EntryButtonCellClick(e);
        }
        /// <summary>
        /// 按钮单击
        /// </summary>
        /// <param name="e"></param>
        public override void AfterButtonClick(AfterButtonClickEventArgs e)
        {
           base.AfterButtonClick(e);
        }
        /// <summary>
        /// 树形控件节点单击
        /// </summary>
        /// <param name="e"></param>
        public override void TreeNodeClick(TreeNodeArgs e)
        {
           base.TreeNodeClick(e);
        }
        /// <summary>
        /// 树形控件节点单击
        /// </summary>
        /// <param name="e"></param>
        public override void TreeNodeDoubleClick(TreeNodeArgs e)
        {
           base.TreeNodeDoubleClick(e);
        }
        /// <summary>
        /// 树形控件节点单击
        /// </summary>
        /// <param name="e"></param>
        public override void TreeLoadData(TreeLoadDataArgs e)
        {
           base.TreeLoadData(e);
        }
        /// <summary>
        /// 表单服务执行
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeDoAction(BeforeDoActionEventArgs e)
        {
           base.BeforeDoAction(e);
        }
        /// <summary>
        /// 表单服务执行完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterDoAction(AfterDoActionEventArgs e)
        {
           base.AfterDoAction(e);
        }
        /// <summary>
        /// 基础资料选择权限处理，插件可以决定是否需要验证权限
        /// </summary>
        /// <param name="e"></param>
        public override void AuthPermissionBeforeF7Select(AuthPermissionBeforeF7SelectEventArgs e)
        {
           base.AuthPermissionBeforeF7Select(e);
        }
        /// <summary>
        /// F7选择之前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeF7Select(BeforeF7SelectEventArgs e)
        {
           base.BeforeF7Select(e);
        }
        /// <summary>
        /// F7选择完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterF7Select(AfterF7SelectEventArgs e)
        {
           base.AfterF7Select(e);
        }
        /// <summary>
        /// 基础资料模糊查询读取数据包后
        /// </summary>
        /// <param name="e"></param>
        public override void AfterQuickGetData(AfterQuickGetDataEventArgs e)
        {
           base.AfterQuickGetData(e);
        }
        /// <summary>
        /// 基础资料模糊查询选中后
        /// </summary>
        /// <param name="e"></param>
        public override void AfterQuickSelect(AfterQuickSelectEventArgs e)
        {
           base.AfterQuickSelect(e);
        }
        /// <summary>
        /// 维度选择之前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeFlexSelect(BeforeFlexSelectEventArgs e)
        {
           base.BeforeFlexSelect(e);
        }
        /// <summary>
        /// 过滤表格控件上F7选择之前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeFilterGridF7Select(BeforeFilterGridF7SelectEventArgs e)
        {
           base.BeforeFilterGridF7Select(e);
        }
        /// <summary>
        /// 定制页面显示完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterShowCustomerPage(AfterShowCustomerPageEventArgs e)
        {
           base.AfterShowCustomerPage(e);
        }
        /// <summary>
        /// 弹出页面显示完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterShowForm(AfterShowFormEventArgs e)
        {
           base.AfterShowForm(e);
        }
        /// <summary>
        /// 表单操作执行前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
        {
           base.BeforeDoOperation(e);
        }
        /// <summary>
        /// 操作开始前选择组织后调用   只有需要选择组织的操作才会有此方法 如：分配，下发等
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeOperAfterSelOrg(BeforeOperAfterSelOrgArgs e)
        {
           base.BeforeOperAfterSelOrg(e);
        }
        /// <summary>
        /// 表单操作执行完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterDoOperation(AfterDoOperationEventArgs e)
        {
           base.AfterDoOperation(e);
        }
        /// <summary>
        /// 表单操作交互确认完毕
        /// </summary>
        /// <param name="e"></param>
        public override void AfterConfirmOperation(AfterConfirmOperationEventArgs e)
        {
           base.AfterConfirmOperation(e);
        }
        /// <summary>
        /// 序时簿行双击
        /// </summary>
        /// <param name="e"></param>
        public override void ListViewClick(ListViewClickArgs e)
        {
           base.ListViewClick(e);
        }
        public override void ListViewAddFavorClick(ListViewClickArgs e)
        {
           base.ListViewAddFavorClick(e);
        }
        public override void ListViewClearClick(ListViewClickArgs e)
        {
           base.ListViewClearClick(e);
        }
        /// <summary>
        /// 树形控件拖拽
        /// </summary>
        /// <param name="e"></param>
        public override void TreeDragDrop(TreeDragDropEventArgs e)
        {
           base.TreeDragDrop(e);
        }
        /// <summary>
        /// 语言切换
        /// </summary>
        /// <param name="e"></param>
        public override void LanguageChanged(EventArgs e)
        {
           base.LanguageChanged(e);
        }
        /// <summary>
        /// 分录行单击
        /// </summary>
        /// <param name="e"></param>
        public override void EntityRowClick(EntityRowClickEventArgs e)
        {
           base.EntityRowClick(e);
        }
        /// <summary>
        /// 分录单元格焦点切换
        /// </summary>
        /// <param name="e"></param>
        public override void EntryCellFocued(EntryCellFocuedEventArgs e)
        {
           base.EntryCellFocued(e);
        }
        /// <summary>
        /// 单据头字段焦点切换
        /// </summary>
        /// <param name="e"></param>
        public override void FieldEditorFocued(FieldEditorFocuedEventArgs e)
        {
           base.FieldEditorFocued(e);
        }
        /// <summary>
        /// 分录行双击
        /// </summary>
        /// <param name="e"></param>
        public override void EntityRowDoubleClick(EntityRowClickEventArgs e)
        {
           base.EntityRowDoubleClick(e);
        }
        /// <summary>
        /// 页签控件的页签选中事件
        /// </summary>
        /// <param name="e"></param>
        public override void TabItemSelectedChange(TabItemSelectedChangeEventArgs e)
        {
           base.TabItemSelectedChange(e);
        }
        /// <summary>
        /// 客户端自定义事件执行前事件。
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeCustomEvents(BeforeCustomEventsArgs e)
        {
           base.BeforeCustomEvents(e);
        }
        /// <summary>
        /// 客户端自定义事件，用于动态表单客户端插件和服务端插件进行通信
        /// </summary>
        /// <param name="e"></param>
        public override void CustomEvents(CustomEventsArgs e)
        {
           base.CustomEvents(e);
        }
        /// <summary>
        /// 树表控件行展开事件
        /// </summary>
        /// <param name="entryKey"></param>
        /// <param name="row"></param>
        public override void RowExpanding(EntityRowClickEventArgs e)
        {
           base.RowExpanding(e);
        }
        /// <summary>
        /// 树表控件表头类型行
        /// </summary>
        /// <param name="entryKey"></param>
        /// <param name="key"></param>
        /// <param name="row"></param>
        public override void HeaderCellClick(EntityRowClickEventArgs e)
        {
           base.HeaderCellClick(e);
        }
        /// <summary>
        /// 数据更新开始事件
        /// </summary>
        public override void DataUpdateBeginning()
        {
           base.DataUpdateBeginning();
        }
        /// <summary>
        /// 数据更新结束事件
        /// </summary>
        public override void DataUpdateEnd()
        {
           base.DataUpdateEnd();
        }
        /// <summary>
        /// 导航控件操作Action，包括：新增Item，删除Item
        /// </summary>
        /// <param name="actionKey">操作键值：New，Del</param>
        /// <param name="key">事件源对象Key</param>
        /// <param name="index">索引号</param>
        /// <param name="selectItemId">当前选中的节点Id</param>
        /// <param name="data">预留数据包</param>
        public override void NaviOperAction(NaviOperActionArgs e)
        {
           base.NaviOperAction(e);
        }
        /// <summary>
        /// 字段标题单击事件
        /// </summary>
        /// <param name="key">事件源对象Key</param>
        /// <param name="row">当前所在行</param>
        /// <param name="value">值</param>
        public override void FieldLabelClick(FieldLabelClickArgs e)
        {
           base.FieldLabelClick(e);
        }
        /// <summary>
        /// 块粘贴前事件
        /// </summary>
        /// <param name="e"></param>
        public override void FireEntityBlockPasting(EntityBlockPastingEventArgs e)
        {
           base.FireEntityBlockPasting(e);
        }
        /// <summary>
        /// 块粘贴后事件
        /// </summary>
        /// <param name="e"></param>
        public override void AfterEntityBlockPasting(AfterEntityBlockPastingEventArgs e)
        {
           base.AfterEntityBlockPasting(e);
        }
        /// <summary>
        /// 帮助F1 
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeF1Click(F1ClickArgs e)
        {
           base.BeforeF1Click(e);
        }
        /// <summary>
        /// 导入数据之前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeImportData(BeforeImportDataArgs e)
        {
           base.BeforeImportData(e);
        }
         /// <summary>
        /// 保存导入数据之前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeSaveImportData(BeforeSaveImportDataArgs e)
        {
           base.BeforeSaveImportData(e);
        }
        /// <summary>
        /// 显示引入结果提示信息前事件
        /// </summary>
        /// <param name="e">显示引入结果提示信息前事件参数</param>
        public override void BeforeShowImportResultMessage(BeforeShowImportResultMessageArgs e)
        {
           base.BeforeShowImportResultMessage(e);
        }
        /// <summary>
        /// 引入，错误信息是否收集
        /// </summary>
        /// <param name="e"></param>
        public override void ImportDataCollectFailInfo(ImportDataBeforeCollectFailInfoArgs e)
        {
           base.ImportDataCollectFailInfo(e);
        }
        /// <summary>
        ///  引入，干预匹配字段
        /// </summary>
        /// <param name="e"></param>
        public override void ImportDataBeforeBindMatchFields(ImportDataBeforeBindMatchFieldsArgs e)
        {
           base.ImportDataBeforeBindMatchFields(e);
        }
        /// <summary>
        /// 导出前支持修改Excel列标题
        /// </summary>
        /// <param name="e"></param>
        public override void FireBeforeExportTitle(BeforeExportTitleArg e)
        {
           base.FireBeforeExportTitle(e);
        }
        /// <summary>
        /// 引出数据之前
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeExportData(BeforeExportDataArgs e)
        {
           base.BeforeExportData(e);
        }
        public override void BeforeEntityExport(BeforeEntityExportArgs e)
        {
           base.BeforeEntityExport(e);
        }
        /// <summary>
        /// 单据体列全选事件 
        /// </summary>
        /// <param name="e"></param>
        public override void FireEntryCheck(FEntryCheckArgs e)
        {
           base.FireEntryCheck(e);
        }
        /// <summary>
        /// 微博点击事件
        /// </summary>
        public override void FireMicroBlogClick(FMicroBlogClickArgs e)
        {
            base.FireMicroBlogClick(e);
        }
        /// <summary>
        /// 串口事件入口
        /// </summary>
        public override void PortDataReceived(KDSerialPortEventArgs e)
        {
            base.PortDataReceived(e);
        }
        /// <summary>
        /// 消息弹窗事件
        /// </summary>
        /// <param name="e">事件对象</param>
        public override void MsgInnerControlEvent(MsgInnerControlEventArgs e)
        {
            base.MsgInnerControlEvent(e);
        }
        /// <summary>
        /// 获取Form标题入口
        /// </summary>
        /// <param name="e"></param>
        public override void GetFormTitle(GetFormTitleEventArgs e)
        {
            base.GetFormTitle(e);
        }
        /// <summary>
        /// 分录计算合计事件
        /// </summary>
        public override void OnEntrySum(EntrySumEventArgs e)
        {
           base.OnEntrySum(e);
        }
        /// <summary>
        /// 邮件发送服务初始化事件
        /// 此事件只能自定义生成的单个文件名，如果按单据模板分文件导出，需要多个文件名，
        /// 则可以在BeforePrintExport事件中设置动态名称
        /// </summary>
        /// <param name="e"></param>
        public override void OnInitializeSendMailService(InitializeSendMailServiceEventArgs e)
        {
           base.OnInitializeSendMailService(e);
        }
        /// <summary>
        /// 手工发送邮件之前事件,对邮件内容和附件进行干预
        /// </summary>
        /// <param name="e"></param>
        public override void OnBeforeSendMailService(BeforeSendMailServiceEventArgs e)
        {
           base.OnBeforeSendMailService(e);
        }
        /// <summary>
        /// 维度Form创建Field插件
        /// </summary>
        /// <param name="e"></param>
        public override void OnQueryFlexFieldState(OnQueryFlexFieldStateEventArgs e)
        {
           base.OnQueryFlexFieldState(e);
        }
        /// <summary>
        /// 准备打印万能报表模板单据数据
        /// </summary>
        /// <param name="e"></param>
        public override void OnPrepareDevPrintData(PreparePrintDevDataEventArgs e)
        {
           base.OnPrepareDevPrintData(e);
        }
        /// <summary>
        /// 准备打印数据查询对象
        /// </summary>
        /// <param name="e"></param>
        public override void OnPrepareNotePrintData(PreparePrintDataEventArgs e)
        {
           base.OnPrepareNotePrintData(e);
        }
        /// <summary>
        /// 准备打印数据查询参数
        /// </summary>
        /// <param name="e"></param>
        public override void OnPrepareNotePrintQueryParam(PrepareNotePrintQueryParamEventArgs e)
        {
           base.OnPrepareNotePrintQueryParam(e);
        }
        /// <summary>
        /// 打印模版
        /// </summary>
        /// <param name="e"></param>
        public override void OnQueryDynamicColumns(QueryDynamicColumnsEventArgs e)
        {
           base.OnQueryDynamicColumns(e);
        }
        /// <summary>
        /// 打印完成后处理事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnAfterPrint(AfterPrintEventArgs e)
        {
           base.OnAfterPrint(e);
        }
        /// <summary>
        /// 准备有效的套打模板（用于支持二开过滤套打模板）
        /// <para>当GetValidNoteTemplatesAll没有修改时在选择模板界面调用</para>
        /// </summary>
        /// <param name="e"></param>
        public override List<EnumItem> GetValidNoteTemplates(ValidNoteTemplatesEventArgs e)
        {
           return base.GetValidNoteTemplates(e);
        }
        /// <summary>
        /// 准备有效的套打模板（用于支持二开过滤套打模板）,所有套打模板选择界面（套打设置，选择模板）
        /// </summary>
        /// <param name="e"></param>
        public override List<EnumItem> GetValidNoteTemplatesAll(ValidNoteTemplatesEventArgs e)
        {
            return base.GetValidNoteTemplatesAll(e);
        }
        /// <summary>
        /// 套打打印校验前事件（用作干预套打打印控制）
        /// </summary>
        /// <param name="e"></param>
        public override void OnBeforePrintValidate(BeforePrintValidateEventArgs e)
        {
           base.OnBeforePrintValidate(e);
        }
        /// <summary>
        /// 套打导出前事件(支持对套打导出实体做调整)
        /// </summary>
        /// <param name="e"></param>
        public override void BeforePrintExport(BeforePrintExportEventArgs e)
        {
           base.BeforePrintExport(e);
        }
        /// <summary>
        /// 套打导出结束事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnAfterPrintExport(AfterPrintExportEventArgs e)
        {
           base.OnAfterPrintExport(e);
        }
        /// <summary>
        /// 由平台组装的套打请求，套打指令发送前
        /// </summary>
        public override void BeforeNotePrintCommand(BeforeNotePrintEventArgs e)
        {
           base.BeforeNotePrintCommand(e);
        }
        /// <summary>
        /// 平台套打预览相关标准操作的预览结果界面进行打印前的干预事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnBeforePrintFromPreview(BeforePrintFromPreviewEventArgs e)
        {
           base.OnBeforePrintFromPreview(e);
        }
        /// <summary>
        /// WebApi操作完成之后处理事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnAfterWebApiOperation(AfterWebApiOperationArgs e)
        {
           base.OnAfterWebApiOperation(e);
        }
        /// <summary>
        /// WebApi接口执行前事件
        /// </summary>
        /// <param name="e"></param>
        public override void OnBeforeWebApiOperation(AfterWebApiOperationArgs e)
        {
           base.OnBeforeWebApiOperation(e);
        }
        /// <summary>
        /// 更新图表数据源
        /// </summary>
        /// <param name="e"></param>
        public override void UpdateChartData(UpdateChartDataArg e)
        {
           base.UpdateChartData(e);
        }
 #region private method
        /// <summary>
        /// 事件执行次数计数器
        /// </summary>
        private int counter;
        /// <summary>
        /// 事件执行次数计数器
        /// </summary>
        private int Counter
        {
            get { return ++counter; }
        }
        /// <summary>
        /// 输出事件执行日志
        /// </summary>
        /// <param name="eventName">事件名称</param>
        /// <param name="args">事件参数</param>
        private void PrintEventInfo(string eventName, params object[] args)
        {
            var formId = GetFormId();
            var parameters = string.Empty;
            try
            {
                //parameters = Newtonsoft.Json.JsonConvert.SerializeObject(args);// 性能较差，可能会导致页面假死
            }
            catch
            {
            }
            var log = string.Format("序号:{0},执行时间:{1},表单Id:{2},事件名称:{3},事件参数:{4}", Counter, DateTime.Now.ToString("yyyy -MM-dd HH:mm:ss.fff"), formId, eventName, parameters);
            System.Diagnostics.Debug.Print(log);
            Kingdee.BOS.Log.Logger.Error("EVENT", log, null);
        }
        /// <summary>
        /// 获取业务对象标识
        /// </summary>
        /// <returns></returns>
        private string GetFormId()
        {
            var formId = string.Empty;
            if (this.View != null && this.View.BillBusinessInfo != null)
            {
                formId = this.View.BillBusinessInfo.GetForm().Id;
            }
            return formId;
        }

        /// <summary>
        /// queryservice取数方案，通过业务对象来获取数据，推荐使用
        /// </summary>
        /// <returns></returns>
        private DynamicObjectCollection GetQueryDatas()
        {
            QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
            {
                FormId = "",//取数的业务对象
                FilterClauseWihtKey = "",//过滤条件，通过业务对象的字段Key拼装过滤条件
                SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】，可以多个，如果要取主键，使用主键名
            };

            DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
            return dyDatas;
        }
 #endregion
    }
}